//
//  ExAutoHeightViewController.m
//  OC-Example
//
//  Created by apang on 2018/7/31.
//  Copyright © 2018年 apang.men All rights reserved.
//

#import "ExAutoHeightViewController.h"
#import "ExAutoHeightTableViewCell.h"

@interface ExAutoHeightViewController ()<UITableViewDelegate,UITableViewDataSource>

@property (nonatomic , strong) UITableView * tableView;

@property (nonatomic , copy) NSArray * texts;

@end

@implementation ExAutoHeightViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [self.view setBackgroundColor:[UIColor whiteColor]];

    self.title = @"cell文本高度自适应";

    _tableView = [[UITableView alloc] init];

    [_tableView setTranslatesAutoresizingMaskIntoConstraints:NO];

    [self.view addSubview:_tableView];
    if (@available(iOS 11.0, *)) {
        _tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
    }

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(0)-[_tableView]-(0)-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_tableView)]];
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(0)-[_tableView]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_tableView)]];
    
    NSLayoutConstraint * marginBottom = [NSLayoutConstraint constraintWithItem:_tableView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottomMargin multiplier:1.0 constant:0.0];
    [self.view addConstraint:marginBottom];
    [_tableView registerClass:[ExAutoHeightTableViewCell class] forCellReuseIdentifier:@"autoLabel"];
    _tableView.rowHeight = UITableViewAutomaticDimension;
    _tableView.estimatedRowHeight = 50;
    _tableView.delegate = self;

    _tableView.dataSource = self;

    _tableView.tableFooterView = [UIView new];

    _texts = @[@"刚才看了一段视频，讲的是一个上了年纪的老艺人独自在外漂泊，靠表演维持生计。老人满头银发，提着一把二胡，拖着一个音响，虽然辛苦，但绝不落魄，一身的气质让人不觉得他是一个流离的艺人，而是某位成就不凡的艺术家。看着老人辛苦的表演和微薄的回报，不禁想到一句话：人生在世，游离与悲。",@"从古代以来，独自一人背井离乡，游离天涯都不是一件轻松快乐的事，背后总有或这或那的辛酸和悲伤。中国人骨子里有着几千年安土重迁的情怀，谁会喜欢如同无根浮萍，流浪天涯？这么想着，我知道这位老人背后一定有一段故事。",@"此时此刻，我在这样一个时间，这样一个地点看着他，不知道他现在又漂到了哪里？也许正为了下一顿饭辛苦表演着，也许正在某个城市的角落里面踽踽独行，也许正面对一个十字路口，不知何去何从......",@"老人独行在自己的路上，唯有二胡作伴，寂寥的音符颤动着心灵深处的旋律，他是孤独的，也是幸福的，至少，他还能再自己路上坚定地走下去。而我们呢？我们又何尝不是独行在自己的路上？甚至好多人看不清前进的路，远方的一切都是那么缥缈，虚幻。于是只好在人世中浮浮沉沉，随波逐流。",@"有时候我们发现，自己的身边不知道什么时候出现了一些人，孤寂的感觉好像一下就没了，我们找到了一个寄托。亲人，朋友，他们陪着我们一起走下去。但是，他人的陪伴终究只是一时的，就像两条铁轨，彼此重合一部分后，总会有一个岔路口。不管你愿意不愿意，最终还是会分开，这不随着人的意志而改变。 寂静的夜里，每当独自惊醒的时候，就算身边睡了一个谁，可还是没人能够走进内心，明白那万千言语难明的忧伤与哀愁。喧闹的人群中，那忽然袭来的寂寞，打的人猝不及防。可能手中牵着另一个人的手，但手毕竟不是心，手的距离相对于心的距离来说，就是咫尺天涯。"];

    _tableView.rowHeight = UITableViewAutomaticDimension;
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return _texts.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    ExAutoHeightTableViewCell * cell = (ExAutoHeightTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"autoLabel"];

    if (!cell) {
        cell = [[ExAutoHeightTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"autoLabel"];
    }

    cell.textContent = _texts[indexPath.row];

    return cell;
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
